﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using Quocity.Entities;

namespace QuocityService
{
    // NOTA: puede usar el comando "Rename" del menú "Refactorizar" para cambiar el nombre de interfaz "IService1" en el código y en el archivo de configuración a la vez.
    [ServiceContract]
    public interface IQuocityService
    {

        [OperationContract]
        
        List<City> GetCitiesJson();

        [OperationContract]
        List<City> GetCitiesXml();

        [OperationContract]
        List<PointOfInterest> GetPointsOfInterestXml(string city, string page, string pageSize);

        [OperationContract]
        List<PointOfInterest> GetPointsOfInterestJson(string city, string page, string pageSize);

        [OperationContract]
        List<PointOfInterest> GetPointsOfInterestFilteredJson(string city, string page, string pageSize, string filter);

        [OperationContract]
        List<PointOfInterest> GetPointsOfInterestFilteredXml(string city, string page, string pageSize, string filter);

        [OperationContract]
        List<Itinerary> GetItinerariesJson(string city, string page, string pagesize);

        [OperationContract]
        List<Itinerary> GetItinerariesXml(string city, string page, string pagesize);

        [OperationContract]
        Itinerary GetItineraryJson(string itineraryId);

        [OperationContract]
        Itinerary GetItineraryXml(string itineraryId);



    }

        

    // Utilice un contrato de datos, como se ilustra en el ejemplo siguiente, para agregar tipos compuestos a las operaciones de servicio.
    
}
